package cores.colorwheel;

public class Color {
	
	private int hue;		
	private String setor;
	
	public enum sector {
		Vermelho, VermelhoVioleta, Violeta, AzulVioleta, Azul, AzulEsverdeado, 
		Verde, AmareloEsverdeado, Amarelo, AmareloAlaranjado, Laranja, VermelhoAlaranjado;
	}
	
	public Color (int hue) throws Exception {
		if (hue < 0 || hue > 360) {
			throw new Exception("Invalid value");
		}
		this.hue = hue;	
	}
	
	public String getSector() {
		getSector(hue);
		return this.setor;
	}
	
	/**
	 * 
	 * @return The sector of color
	 */
	public void getSector(int hue) {
		
		if (hue >= 0 && hue < 30) {
			setor = "Vermelho";} 
		
		else if  (hue >= 30 && hue < 60) {
				setor = "Vermelho Alaranjado";}
		
			else if (hue >= 60 && hue < 90) {
				setor = "Laranja";}
		
			else if (hue >= 90 && hue < 120) {
				setor = "Amarelo Alaranjado";}
		
			else if (hue >= 120 && hue < 150) {
				setor = "Amarelo";}
		
			else if (hue >= 150 && hue < 180) {
				setor = "Amarelo Esverdeado";}

			else if (hue >= 180 && hue < 210) {
				setor = "Verde";}
				
			else if (hue >= 210 && hue < 240) {
				setor = "Azul Esverdeado";}
		
			else if (hue >= 240 && hue < 270) {
				setor = "Azul";}
		
		
			else if (hue >= 270 && hue < 300) {
				setor = "Azul Violeta";}
		
		
			else if (hue >= 300 && hue < 330) {
				setor = "Violeta";}
		
			else if (hue >= 330 && hue <= 360) {
				setor = "Vermelho Violeta";}
	}
	
	
	public boolean equals(Color c) throws Exception {
		if (this.hue == c.getHue()) {
			return true;
		} else {
			return false;
		}
	}

	
	/**
	 * 
	 * @return the hue of color - 0 -> 360
	 * @throws Exception 
	 */
	public int getHue() throws Exception {
		return hue;
	}
	
	/**
	 * @return the saturation of color - 0 -> 255
	 */
	public void getSaturation() {
		// return saturation;
	}
	
	/**
	 * @return the value of color - 0 -> 255
	 */
	public void getValue() {
		// return value;
	}
	
}
